Skip to content

数据类型

基础数据类型

Python 常用的基本数据类型主要有以下几种(其它编程语言可能会把单字符和字符串区分处理):

数据类型描述示例
整形 int所有的整数num=1
浮点型 float所有的小数num=1.5
单字符 str单一字符character='a'
字符串 str两个及以上字符word='hello'
布尔 boolTrue 或者 Falsejudge=True

数据类型对于程序来说是至关重要的,尽管 Python 是弱语言类型,在定义变量时不用声明类型,但是类型的不同,对程序的影响也是完全不同的。

python
score = 100 # 整形 int
height = 1.85 # 浮点型 float
name = "Oldmoon" # 字符串 str
is_pass = True #布尔 bool

Python 的input()方法默认得到的是字符串 str 类型,所以如果输入数字 1,对于程序来说,得到的是字符串的'1',而不是数学意义上的 1。

点击运行试一试!

python
print('1'+'1')
print(1+1)

可以看到,字符串的 1 相加就是两者拼接得到'11',数字的 1 相加,才能得到运算的结果 2.

所以在input()输入时,如果想把输入的值当成数字来使用,就必须做一下类型转换。

数据类型

py
a = '1'
b = '2'
print(a + b)

程序输出的是

[0/1]

数据类型

py
a = input()
b = input()
print(a + b)

如果用户输入12,程序输出的是

[0/1]

类型转换

转换方法示例
intint('4') #这会把字符串'4'变成数字 4.
floatfloat('4.5') #这会把字符串'4.5'变成浮点数 4.5.
strstr(4) #这会把数字 4 变成字符串'4'.

输入 3 行,每行都是 2,点击运行试一试!

python
string = input()
num = int(input())
real = float(input())
print(string+string)
print(num+num)
print(real+real)

数字和字符串不能相加

py
a = '1'
c = 3
print(a + c) #a和c不能相加,会报错
py
a = '1'
b = '2'
c = 3
d = 4.0
print(a + b) #12
print(c + d) #7.0 整数和浮点数相加后是浮点数

数据类型

py
num1 = '10'
num2 = 10
print(int(num1) + num2, num1 + str(num2))

程序输出的是

[0/1]

数据类型

py
num1 = input()
num2 = int(input())
print(int(num1) + num2, num1 + str(num2))

如果用户输入的是2020,程序输出的是

[0/1]

整数转浮点数

浮点数转整数

批量类型转换

之前在处理单行输入多个变量时,我们可以使用input().split()进行切割,但是文本类型仍然是字符串类型。

python
num1,num2 = input().split() #输入1 2
print(num1 + num2) #输出12

如果想要把num1num2转换为整数类型,可以使用 int 函数。

python
num1,num2 = input().split() #输入1 2
num1 = int(num1)
num2 = int(num2)
print(num1 + num2) #输出3

但是,每个变量都做一次类型转换也有点麻烦,这时可以使用map方法实现批量类型转换

python
num1,num2 = map(int, input().split()) #输入1 2
print(num1 + num2) #输出3

这里 map 的意思是:将input().split()序列中的每一个元素,都进行int转换,从而得到新的值。

数据类型

py
num1,num2 = input().split()
print(num1 + num2)

如果用户输入的是1 2,程序输出的是

[0/1]

数据类型

py
num1,num2 = map(int, input().split())
print(num1 + num2)

如果用户输入的是1 2,程序输出的是

[0/1]